package ace.module.account.api.model.auth;

import lombok.Getter;

/**
 * @author Caspar 支持的认证流程类型
 */
public class AuthenticationGrantType {
  public static final AuthenticationGrantType UNKNOWN =
      new AuthenticationGrantType("unknown", "未知执行器");
  public static final AuthenticationGrantType WX_MINI_PHONE_AUTH =
      new AuthenticationGrantType("wx_mini_phone_auth", "微信小程序手机号码认证");
  public static final AuthenticationGrantType WX_MINI_LOGIN_CODE =
      new AuthenticationGrantType("wx_mini_login_code", "微信小程序openid,login code流程");
  public static final AuthenticationGrantType ALL_PASSPORT_PASSWORD =
      new AuthenticationGrantType("all_passport_password", "所有通行证，进行密码认证登录");
  public static final AuthenticationGrantType TEST = new AuthenticationGrantType("test", "test");
  public static final AuthenticationGrantType PHONE_NUMBER_CAPTCHA_SMS_AUTH =
      new AuthenticationGrantType("phone_number_captcha_sms_auth", "短信验证码登录");
  @Getter private final String code;

  @Getter private final String desc;

  public AuthenticationGrantType(String code, String desc) {
    this.code = code;
    this.desc = desc;
  }
}
